/*
题目描述
给定一个从小到大有序的整数序列，将其保存至数组。另外输入一个整数，将其插入至这个数组中并保持数组有序。

输入
第一行有一个正整数n，表示原始的整数序列长度为n，保证n不超过50。
第二行有n个整数，表示原始的整数序列，保证这个序列是从小到大给出的。
第三行有一个整数，表示需要插入的整数。

输出
在一行中输出n+1个整数，表示完成插入的整数序列。每个整数后输出一个空格。
请注意行尾输出换行。
*/
#include <stdio.h>
int main()
{
    int n, num;
    scanf("%d", &n);
    int arr[n];
    int targetArr[n + 1];
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &num);
    int inserted = 0;
    for (int i = 0; i < n + 1; i++)
    {
        if (inserted == 0)
        {
            if (arr[i] < num)
            {
                targetArr[i] = arr[i];
            }
            else
            {
                inserted = 1;
                targetArr[i] = num;
            }
        }
        else
        {
            targetArr[i] = arr[i - 1];
        }
    }
    for (int i = 0; i < n + 1; i++)
    {
        printf("%d ", targetArr[i]);
    }
}